import axios from 'axios';
import qs from 'qs';

// 创建一个 axios 实例
const http = axios.create({
  // baseURL: process.env.VUE_APP_API_URL || '/api', // 设置基础 URL
  baseURL: 'http://localhost:8091/', // 设置基础 URL
  timeout: 10000, // 请求超时时间
});

// 请求拦截器
http.interceptors.request.use(
  config => {
    // 可以在这里添加请求头等
    return config;
  },
  error => {
    return Promise.reject(error);
  }
);

// 响应拦截器
http.interceptors.response.use(
  response => {
    return response.data; // 只返回数据部分
  },
  error => {
    return Promise.reject(error);
  }
);

// GET 方法封装
const get = (url, params = {}, datasource = 'msp') => {
  const encodedParams = qs.stringify(params, { encode: true });
  return http.get(`${url}?${encodedParams}`).headers({  
    'datasource': datasource,
  });
};

// POST 方法封装
const post = (url, data = {}, contentType = 'application/json', datasource = 'msp') => {
  return http.post(url, data, {
    headers: {
      'Content-Type': contentType,
      'datasource': datasource,
    },
  });
};

// 导出封装的方法
export default {
  get,
  post,
};